package com.autumn.annotations.leetcode.three;

import java.util.*;

/**
 * 项目名称：com.autumn.xa
 * 类 名 称：Redis1
 * 类 描 述：TODO
 * 创建时间：2021/9/23 11:28 上午
 * 创 建 人：yeachrom
 */
public class Redis1 {

    private int size = 10;
    private List<HashMap<String,String>> body = new ArrayList<>(10);

    public Redis1(int size){
        this.size = size;
        body = new ArrayList<>(this.size);
    }

    public Redis1(){}

    public void put(HashMap<String,String> val){
        if (null == body.get(size - 1)) {
            body.add(val);
        } else {
            body.add(size - 1 , val);
        }
    }

    public String get(String key){
        if (null == key){
            return null;
        }

        // 寻找位置
        int p = 0;
        for (int i = 0; i < size; i++) {
            if (null == body.get(i)) { //判断数组是否为空
                return null;
            }
            if (null != body.get(i).get(key)) { //判断值是否为空
                p = i;
                break;
            }
        }

        // 调换位置
        HashMap<String ,String> temp = body.get(p);
        for (int i = p; i >=0; i--) {
            body.add(p , body.get(p-1));
        }
        body.add(0,temp);

        // 取数
        return temp.get(key);
    }


    public static void main(String[] args) {
        Redis1 redis = new Redis1(3);
        HashMap<String,String> m1 = new HashMap<>(1);
        m1.put("1","1");
        HashMap<String,String> m2 = new HashMap<>(1);
        m1.put("2","2");
        HashMap<String,String> m3 = new HashMap<>(1);
        m1.put("3","3");
        HashMap<String,String> m4 = new HashMap<>(1);
        m1.put("4","4");
        redis.put(m1);
        redis.put(m2);
        redis.put(m3);
        redis.put(m4);

        System.out.println();
    }
}
